home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1995 May / cd Ware (Juegos) Epimundo.iso / DOS / PRGMMING / M2PROTOS.ZIP / QCCOMM.DEF < prev    next >
Encoding:
Modula Definition  |  1992-02-28  |  2.4 KB  |  88 lines

  1. (*# call(o_a_copy => off) *)
  2. (*%F _fdata *)
  3. (*# call(seg_name => null) *)
  4. (*%E *)
  5. (*# module(implementation=>on) *)
  6. (*# data(seg_name => null) *)
  7. DEFINITION MODULE QCcomm;
  8.  
  9.                      (* This JPI Modula-2 module is part of *)
  10.  
  11.                       (* QC -- a communications program *)
  12.                              (* by Carl Neiburger *)
  13.                               (* 169 N. 25th St.*)
  14.                           (* San Jose, Calif. 95116 *)
  15.  
  16.                          (* CompuServe No. 72336,2257 *)
  17.  
  18. FROM NFIO IMPORT File, PathStr;
  19. FROM UTIL IMPORT str3, str4, str5;
  20. FROM QCdisp IMPORT ProtoType, MaskType;
  21. FROM Str IMPORT CHARSET;
  22.  
  23. TYPE
  24.     MaskNameArray = ARRAY MaskType OF str5;
  25.     OnOffArray = ARRAY BOOLEAN OF str3;
  26.  
  27. CONST
  28.     nul   = 00H;   soh   =  01;   stx   = 02H;   etx   =  03H;
  29.     eot   = 04H;   enq   =  05;   ack   = 06H;   bs    =  10C;
  30.     tab   = 09H;   lf    = 12C;   cr    = 15C;   dle   =  10H;
  31.     xon   = 11H;   xoff  = 13H;   nak   = 15H;   syn   =  16H;
  32.     can   = 18H;   ctlx  = 18H;   sub   = 1AH;   esc   =  33B;
  33.     space = ' ';   cee   = 43H;   del   = 7FH;  
  34.  
  35.     ComTimedOut = 0FFFEH;
  36.     ComNoCarrier = 0FFFDH;
  37.     ComAbort = 0FFFCH;
  38.  
  39.     BuffSize = 8192;
  40.     databits = 8;
  41.     stopbits = 1;
  42.     parity = 3;
  43.  
  44.     ProgramName = 'QC';  (* for transfer protocol IDs *)
  45.  
  46. CharSetNames = MaskNameArray ('7-bit', '8-bit', 'IBM  ');
  47.  
  48. OnOffNames = OnOffArray ('OFF', 'ON ');
  49.  
  50. BSDelNames = OnOffArray ('BS ', 'Del');
  51.  
  52. EscIResponse = '#DRB,QC2.3,CA,SS7o,GF,GH,GM,PB,PX,PY,PK';
  53.              (*  Mod Ver VT100,24*80,Gif,HiRes,MedRes,
  54.                              B-Prot,Xmodem,Ymodem,Kermit *)
  55.              (* 132 lines : '#XXX,QC2.3,CA,SS7' + 242C + ',PB,PX' *)
  56.  
  57. VAR
  58.     BackSpaceChars : CHARSET;
  59.  
  60. PROCEDURE CommWrData(ch : BYTE);
  61.  
  62. PROCEDURE CommWrStr( s : ARRAY OF CHAR ): CARDINAL;
  63. (* returns checksum *)
  64.  
  65. PROCEDURE CommRdData(waitTime:CARDINAL ) : CARDINAL;
  66. (* only tests for abort if data is not waiting *)
  67.  
  68. PROCEDURE CommRdDataTest(waitTime:CARDINAL ) : CARDINAL;
  69. (* always tests for abort before checking for data *)
  70.  
  71. PROCEDURE setXon( TransmitOn, ReceiveOn : BOOLEAN);
  72.  
  73. (*#save *)
  74. (*#call(near_call=>on) *)
  75. PROCEDURE SetBaud(baud: SHORTCARD); 
  76.  
  77. PROCEDURE SetBS;
  78. (* Sets BackSpaceCharacters *)
  79.  
  80. PROCEDURE SetUp(Init: BOOLEAN);
  81.  
  82. PROCEDURE checkAbort (): BOOLEAN;
  83. (* USES CONTROL-INTERRUPT *)
  84. (*#restore *)
  85.  
  86. END QCcomm.
  87.  
  88.